package strategy.order;

import java.math.BigDecimal;
import java.util.Map;

/**
 * 满减优惠
 * @author Fengdong.Duan
 * @create 2023/12/5 10:52
 */
public class MJCouponDiscount implements ICouponDiscount<Map<String, BigDecimal>> {
    /**
     * 满减计算
     * 1. 判断满足x元后-n元，否则不减
     * 2. 最低支付金额1元
     */
    @Override
    public BigDecimal discountAmount(Map<String, BigDecimal> couponInfo, BigDecimal skuPrice) {
        BigDecimal x = couponInfo.get("50");
        // 商品金额小于满减条件的，直接返回商品原价
        if (skuPrice.compareTo(x) < 0) return skuPrice;
        // 减去优惠金额判断
        return skuPrice.subtract(x).compareTo(BigDecimal.ZERO) < 1 ? BigDecimal.valueOf(0.1f) : skuPrice.subtract(x);
    }
}
